{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import sklearn\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "%matplotlib inline\n",
    "plt.style.use('fivethirtyeight')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_dir = \"../data/train.csv\"\n",
    "test_dir = \"../data/test.csv\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv(data_dir)\n",
    "test_df = pd.read_csv(test_dir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "del data['id']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>keyword</th>\n",
       "      <th>location</th>\n",
       "      <th>text</th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Our Deeds are the Reason of this #earthquake M...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Forest fire near La Ronge Sask. Canada</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>All residents asked to 'shelter in place' are ...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>13,000 people receive #wildfires evacuation or...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Just got sent this photo from Ruby #Alaska as ...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7608</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Two giant cranes holding a bridge collapse int...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7609</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>@aria_ahrary @TheTawniest The out of control w...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7610</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>M1.94 [01:04 UTC]?5km S of Volcano Hawaii. htt...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7611</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Police investigating after an e-bike collided ...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7612</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>The Latest: More Homes Razed by Northern Calif...</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>7613 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     keyword location                                               text  \\\n",
       "0        NaN      NaN  Our Deeds are the Reason of this #earthquake M...   \n",
       "1        NaN      NaN             Forest fire near La Ronge Sask. Canada   \n",
       "2        NaN      NaN  All residents asked to 'shelter in place' are ...   \n",
       "3        NaN      NaN  13,000 people receive #wildfires evacuation or...   \n",
       "4        NaN      NaN  Just got sent this photo from Ruby #Alaska as ...   \n",
       "...      ...      ...                                                ...   \n",
       "7608     NaN      NaN  Two giant cranes holding a bridge collapse int...   \n",
       "7609     NaN      NaN  @aria_ahrary @TheTawniest The out of control w...   \n",
       "7610     NaN      NaN  M1.94 [01:04 UTC]?5km S of Volcano Hawaii. htt...   \n",
       "7611     NaN      NaN  Police investigating after an e-bike collided ...   \n",
       "7612     NaN      NaN  The Latest: More Homes Razed by Northern Calif...   \n",
       "\n",
       "      target  \n",
       "0          1  \n",
       "1          1  \n",
       "2          1  \n",
       "3          1  \n",
       "4          1  \n",
       "...      ...  \n",
       "7608       1  \n",
       "7609       1  \n",
       "7610       1  \n",
       "7611       1  \n",
       "7612       1  \n",
       "\n",
       "[7613 rows x 4 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1.读取数据并做预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>7613.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>0.42966</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.49506</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>1.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1.00000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           target\n",
       "count  7613.00000\n",
       "mean      0.42966\n",
       "std       0.49506\n",
       "min       0.00000\n",
       "25%       0.00000\n",
       "50%       0.00000\n",
       "75%       1.00000\n",
       "max       1.00000"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.describe() #一共有7613条数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2533"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data['location'].isnull().sum() #location列有2533条非空数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "61"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data['keyword'].isnull().sum() #keyword列有61条数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.1对定类数据绘制条形图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "USA              104\n",
       "New York          71\n",
       "United States     50\n",
       "London            45\n",
       "Canada            29\n",
       "Name: location, dtype: int64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data['location'].value_counts().head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "USA                               104\n",
       "New York                           71\n",
       "United States                      50\n",
       "London                             45\n",
       "Canada                             29\n",
       "Nigeria                            28\n",
       "UK                                 27\n",
       "Los Angeles, CA                    26\n",
       "India                              24\n",
       "Mumbai                             22\n",
       "Washington, DC                     21\n",
       "Kenya                              20\n",
       "Worldwide                          19\n",
       "Australia                          18\n",
       "Chicago, IL                        18\n",
       "California                         17\n",
       "California, USA                    15\n",
       "New York, NY                       15\n",
       "Everywhere                         15\n",
       "San Francisco                      14\n",
       "United Kingdom                     14\n",
       "Florida                            14\n",
       "Los Angeles                        13\n",
       "Indonesia                          13\n",
       "Washington, D.C.                   13\n",
       "NYC                                12\n",
       "Ireland                            12\n",
       "Toronto                            12\n",
       "San Francisco, CA                  11\n",
       "Seattle                            11\n",
       "                                 ... \n",
       "Toronto, ON                         1\n",
       "#expelcl*y                          1\n",
       "Neath, South Wales                  1\n",
       "nor*cal                             1\n",
       "å_å_Los Mina Cityã¢                1\n",
       "@ ForSL/RP                          1\n",
       "Los Angeles... CA... USA            1\n",
       "WESTSIDE OF PHILLY 7? BLOCK??       1\n",
       "Dundas, Ontario                     1\n",
       "Beacon Hills                        1\n",
       "Alameda, CA                         1\n",
       "Franklin, TN near Nashville         1\n",
       "Park Ridge, Illinois                1\n",
       "The Canopy Kingdom                  1\n",
       "Unite. Bless. Wallahi               1\n",
       "Sunny South florida                 1\n",
       "New Mexico, USA                     1\n",
       "In the middle of no where           1\n",
       "Hueco Mundo                         1\n",
       "Lethbridge, Alberta, Canada         1\n",
       "Dimapur                             1\n",
       "miami                               1\n",
       "Cypress, CA 90630                   1\n",
       "V-RP @OZRP_ ?MV, AU, R18+?          1\n",
       "Bushkill pa                         1\n",
       "Freeport Ny                         1\n",
       "Dorset, United Kingdom              1\n",
       "Warm Heart Of Africa                1\n",
       "Anywhere                            1\n",
       "Washington, Krasnodar (Russia)      1\n",
       "Name: location, Length: 3341, dtype: int64"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data['location'].value_counts().sort_values(ascending=False) # 对数据做一个基本统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x244f9f0bf98>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data['location'].value_counts().sort_values(ascending=False).head(30).plot(kind='bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "fatalities               45\n",
       "armageddon               42\n",
       "deluge                   42\n",
       "damage                   41\n",
       "body%20bags              41\n",
       "harm                     41\n",
       "sinking                  41\n",
       "windstorm                40\n",
       "outbreak                 40\n",
       "twister                  40\n",
       "collided                 40\n",
       "siren                    40\n",
       "evacuate                 40\n",
       "fear                     40\n",
       "explosion                39\n",
       "flames                   39\n",
       "derailment               39\n",
       "wrecked                  39\n",
       "weapon                   39\n",
       "famine                   39\n",
       "weapons                  39\n",
       "sunk                     39\n",
       "hellfire                 39\n",
       "wreckage                 39\n",
       "whirlwind                39\n",
       "sinkhole                 39\n",
       "earthquake               39\n",
       "collision                39\n",
       "explode                  38\n",
       "ambulance                38\n",
       "                         ..\n",
       "obliterate               31\n",
       "devastated               31\n",
       "suicide%20bomber         31\n",
       "mayhem                   30\n",
       "bioterrorism             30\n",
       "dead                     30\n",
       "survivors                30\n",
       "catastrophic             30\n",
       "avalanche                30\n",
       "desolate                 29\n",
       "seismic                  29\n",
       "obliteration             29\n",
       "first%20responders       29\n",
       "sirens                   29\n",
       "bombing                  29\n",
       "annihilation             29\n",
       "snowstorm                29\n",
       "rubble                   28\n",
       "demolished               28\n",
       "volcano                  27\n",
       "deluged                  27\n",
       "battle                   26\n",
       "bush%20fires             25\n",
       "war%20zone               24\n",
       "rescue                   22\n",
       "forest%20fire            19\n",
       "epicentre                12\n",
       "threat                   11\n",
       "inundation               10\n",
       "radiation%20emergency     9\n",
       "Name: keyword, Length: 221, dtype: int64"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data['keyword'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x244fa4930b8>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data['keyword'].value_counts().sort_values(ascending=False).head(30).plot(kind='bar')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2.对文本数据采用词向量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "tweets = data[['text', 'target']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "numpy.ndarray"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(tweets['text'].values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.feature_extraction.text import CountVectorizer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "import re\n",
    "# 将文本中的网址给去除\n",
    "for index, centence in enumerate(tweets['text']):\n",
    "    tweets.loc[index, \"text\"] = re.sub(r\"(http|https)://\\S* ?\", \"\", centence)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = tweets['text'].values\n",
    "Y = tweets['target'].values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.1 尝试用CountVectorizer向量化字符串"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(7613, 21637)\n"
     ]
    }
   ],
   "source": [
    "vect = CountVectorizer()\n",
    "_ = vect.fit_transform(X)\n",
    "print(_.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(7613, 21363)\n"
     ]
    }
   ],
   "source": [
    "vect = CountVectorizer(stop_words='english')\n",
    "_ = vect.fit_transform(X)\n",
    "print(_.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.2 尝试用stemmer提取词根"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "from nltk.stem.snowball import SnowballStemmer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "stemmer = SnowballStemmer('english')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "def word_tokensize(text, how='lemma'):\n",
    "    words = text.split(' ')\n",
    "    return [stemmer.stem(word) for word in words]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(7613, 24811)\n"
     ]
    }
   ],
   "source": [
    "vect = CountVectorizer(analyzer=word_tokensize, stop_words='english')\n",
    "_ = vect.fit_transform(X)\n",
    "print(_.shape)# 变大了？？？？？？？？？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['you', 'had', 'me', 'at', 'hello?']"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "word_tokensize(\"you had me at hello?\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.3 尝试用TF-IDF向量化器"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.feature_extraction.text import TfidfVectorizer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(7613, 21363)\n"
     ]
    }
   ],
   "source": [
    "vect = TfidfVectorizer(stop_words='english')\n",
    "\n",
    "_ = vect.fit_transform(X)\n",
    "print(_.shape) # 和基本的向量器出来的形状一样，内容不同"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(7613, 24811)\n"
     ]
    }
   ],
   "source": [
    "vect = TfidfVectorizer(stop_words='english', analyzer=word_tokensize)\n",
    "_ = vect.fit_transform(X)\n",
    "print(_.shape) # 和基本的向量器出来的形状一样，内容不同"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3在机器学习流水线中使用文本"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.naive_bayes import MultinomialNB"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    0.57034\n",
       "1    0.42966\n",
       "Name: target, dtype: float64"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tweets['target'].value_counts(normalize=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "pipe_paras = {'vect__ngram_range':[(1,1), (1,2)],'vect__max_features':[1000, 10000],'vect__stop_words':[None, 'english']}\n",
    "#pipe_paras = {'vect__stop_words':[None, 'english']}\n",
    "#pipe_paras = {}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.pipeline import Pipeline\n",
    "#pipe = Pipeline([('vect', TfidfVectorizer), ('classify', MultinomialNB)])\n",
    "pipe = Pipeline([('vect', CountVectorizer()), ('classify', MultinomialNB())])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=None, error_score=nan,\n",
       "             estimator=Pipeline(memory=None,\n",
       "                                steps=[('vect',\n",
       "                                        CountVectorizer(analyzer='word',\n",
       "                                                        binary=False,\n",
       "                                                        decode_error='strict',\n",
       "                                                        dtype=<class 'numpy.int64'>,\n",
       "                                                        encoding='utf-8',\n",
       "                                                        input='content',\n",
       "                                                        lowercase=True,\n",
       "                                                        max_df=1.0,\n",
       "                                                        max_features=None,\n",
       "                                                        min_df=1,\n",
       "                                                        ngram_range=(1, 1),\n",
       "                                                        preprocessor=None,\n",
       "                                                        stop_words=None,\n",
       "                                                        strip_accents=None,\n",
       "                                                        token_pattern='(...',\n",
       "                                                        tokenizer=None,\n",
       "                                                        vocabulary=None)),\n",
       "                                       ('classify',\n",
       "                                        MultinomialNB(alpha=1.0,\n",
       "                                                      class_prior=None,\n",
       "                                                      fit_prior=True))],\n",
       "                                verbose=False),\n",
       "             iid='deprecated', n_jobs=None,\n",
       "             param_grid={'vect__max_features': [1000, 10000],\n",
       "                         'vect__ngram_range': [(1, 1), (1, 2)],\n",
       "                         'vect__stop_words': [None, 'english']},\n",
       "             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,\n",
       "             scoring=None, verbose=0)"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "grid = GridSearchCV(pipe, pipe_paras)\n",
    "grid.fit(X,Y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7340113010924043"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid.best_score_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_result = grid.predict(test_df['text'].values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_dict = {\n",
    "    \"id\": test_df['id'].values,\n",
    "    \"target\": test_result\n",
    "}\n",
    "result_df = pd.DataFrame(df_dict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "result_df.to_csv(\"bayes_result.csv\", index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
